package itsm.isperp.framework.quartz.domain;

import itsm.isperp.framework.domain.IBean;

/**
 * 代表定时作业实体定义接口。用于表示一条可运行的作业；
 * 
 * @author lizx
 * @since 1.0
 */
public interface JobDefinition extends IBean {

	/**
	 * 获取定义作业的名称
	 * 
	 * @return 名称
	 */
	public String getName();

	/**
	 * 设置定义作业的名称
	 * 
	 * @param name
	 *            名称
	 */
	public void setName(String name);

	/**
	 * 获取定义作业中所定义用于执行作业操作的bean的id，此bean必须实现Job接口用于调度器进行调度执行
	 * 
	 * @return bean id
	 */
	public String getBeanId();

	/**
	 * 定义bean的id
	 * 
	 * @param program
	 */
	public void setBeanId(String beanId);

	/**
	 * 获取作业运行的执行表达式
	 * 
	 * @return
	 */
	public String getCronExpression();

	/**
	 * 设置作业运行的执行表达式
	 * 
	 * @param cron
	 */
	public void setCronExpression(String cron);

	/**
	 * 获取状态
	 * 
	 * @return
	 */
	public String getStatus();

	public void setStatus(String status);

	/**
	 * 设置状态
	 * 
	 * @param status
	 */
	public void setStatus(JobState status);

	/**
	 * 获取描述信息
	 * 
	 * @return 描述信息
	 */
	public String getDescription();

	/**
	 * 设置描述信息
	 * 
	 * @param description
	 *            描述信息
	 */
	public void setDescription(String description);

}
